#ifndef __APP_POOL_H__
#define __APP_POOL_H__

typedef struct
{
    int (*task_func)(void *arg);
    void *arg;
}Task;

/**
 * @brief 初始化线程池(同时创建消息队列)
 * @param size 线程池大小
 * @return int 0:成功 -1:失败
 */
int app_pool_init(int size);

/**
 * @brief 关闭线程池
 * @return int 0:成功 -1:失败
 */
void app_pool_close(void);

/**
 * @brief 向线程池中添加任务
 * @param func 任务函数
 * @param argv 任务参数
 */
int app_pool_registerTask(int (*task_func)(void *arg), void *arg);

#endif /* __APP_POOL_H__ */
